Compiling Integrity Checking into Update Procedures

نویسنده

  • Mark Wallace
چکیده

Integrity checking has been investigated extensively in the field of deductive databases. Methods have been developed to optimise the checking of an update by specialising the constraints for the information that could have been affected by it. The optimisation has been applied to sets of updates resulting from the execution of unspecified update procedures. This paper investigates the compilation of integrity checking into the procedures themselves. The paper introduces a (procedural) update language, and describes how constraints are compiled into procedures expressed in this language. The compilation yields conditions on the original database state that guarantee safety of the update. The paper also shows why compilation into procedures offers important possibilities for optimisation not available in the earlier framework. 1 Introduction Integrity constraint enforcement is important for preventing incorrect data being entered in data and knowledge bases. In databases only quite simple constraints are generally enforced by the system, such as types and functional dependencies. However most applications require more complex constraints. An integrity enforcement technique has been developed which separates the integrity constraints from the update procedures. First proposed in the context of re-lational databases [Nic82] the technique has been extensively researched in the context of deductive databases [SK88; Dec86; LST87; BDM88] and the references in [BMM90]. Under this approach the integrity constraints are expressed as logical statements-effectively yes/no queries-and stored in the knowledge base. The system just checks the constraints that could have been affected by the update, and even then only what has (or could have) changed. We call this specialised integrity checking. It will be described in more detail in the next section. To date integrity specialisation has been applied for updated literals (single inserts and deletes), for sets of updated literals, and for intentional updates (in-serts/deletes satisfying a certain condition). However it is normally assumed that the set of updates is the result of an update procedure which is not visible to the spe-cialiser. Specialisation is applied to the resulting update, not to the update procedure. In this paper we show how to specialise integrity constraints for the update procedures themselves. This yields significant reductions in the amount of checking that has to be done at update time. The reason is that update procedures often perform partial integrity enforcement automatically. For example the procedure for hiring an employee will require that he has a salary which is a real number, and that he belongs to …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Enforcement of Integrity Constraints in Recursive Databases

Integrity constraint(ic) enforcement forms an essential component in deductive database processing. Some interesting methods which enforce integrity constraints have been proposed by Topor, Lloyd, Decker, Kowalski, Sadri, Soper, Martens, Bruynooghe, Yum and Henschen. In this thesis we further analyze and develop efficient simplification algorithms and methods for the enforcement of integrity co...

متن کامل

Efficient Integrity Checking for Databases with Recursive Views

Efficient and incremental maintenance of integrity constraints involving recursive views is a difficult issue that has received some attention in the past years, but for which no widely accepted solution exists yet. In this paper a technique is proposed for compiling such integrity constraints into incremental and optimized tests specialized for given update patterns. These tests may involve th...

متن کامل

Compiling State Constraints

The evaluation of constraints needs in many cases that a large portion of the database to be accessed. This makes the process of integrity checking very di cult to implement e ciently. Thus nding methods to improve the evaluation of integrity constraints is an important area of research in the eld of database integrity. Most of these methods are based on simpli cation principles. One of these m...

متن کامل

Creating Specialised Integrity Checks Through Partial Evaluation of Meta-Interpreters

Integrity constraints are useful for the specification of deductive databases, as well as for inductive and abductive logic programs. Verifying integrity constraints upon updates is a major efficiency bottleneck and specialised methods have been developed to speedup this task. They can however still incur a considerable overhead. In this paper we propose a solution to this problem by using part...

متن کامل

One Abductive Logic Programming Procedure for Two Kinds of Updates

We distinguish schema updates and user updates. A crucial benchmark for the assimilation of new knowledge via updates is the enforcement of integrity. The procedures SLIC for integrity checking of schema updates and SLDAI for integrity maintenance of user updates are forged into the abductive procedure SLDAI*, for satisfying schema and user update requests. SLDAI* computes modifications of the ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1991